#if !defined(__APP_POOL_H)
#define __APP_POOL_H

// 任务结构体
typedef struct
{
    int (*task_func)(void *arg); // 由线程池中的某个分线程执行的任务函数
    void *arg; // 任务函数的参数数据
} Task;

/**
 *  初始化  线程池/消息队列
 */
int app_pool_init(int thread_num);

/**
 * 关闭   取消所有线程/关闭删除消息队列
 */
void app_pool_destroy();

/**
 * 注册任务    创建任务并发送到消息队列
 */
// int app_pool_registerTask(Task *task);
int app_pool_registerTask(int (*task_func)(void *arg), void *arg);

#endif // __APP_POOL_H
